Conversation
| from locators import Locators | ||
|
|
||
| BASE_URL = "https://stellarburgers.education-services.ru/" | ||
|
|
There was a problem hiding this comment.
Нужно исправить: все тесты должны быть разделены на тестовые классы
conftest.py
Outdated
|
|
||
| # Фикстура с реальным email | ||
| @pytest.fixture | ||
| def test_email(): |
There was a problem hiding this comment.
Нужно исправить: фикстуры нужно использовать для хранения логики, а не просто возврата значений. Для хранения значений используй константы. Они у тебя и так есть, а фикстуры их дублируют
conftest.py
Outdated
|
|
||
| @pytest.fixture | ||
| def random_email(): | ||
| return generate_email() |
There was a problem hiding this comment.
Нужно исправить: фикстура ничего не добавляет к коду метода. Можно сразу реализовать всю логику в фикстуре, а передача метода в метод не имеет смысла
tests/test_constructor.py
Outdated
| from selenium.webdriver.support import expected_conditions as EC | ||
| from locators import Locators | ||
|
|
||
| BASE_URL = "https://stellarburgers.education-services.ru/" |
There was a problem hiding this comment.
Нужно исправить: эта константа уже есть в config
tests/test_login.py
Outdated
| from selenium.webdriver.common.by import By | ||
| from locators import Locators | ||
|
|
||
| TEST_EMAIL = "EvaWunder@yandex.ru" |
There was a problem hiding this comment.
Можно улучшить: тестовые данне лучше вынести в отдельный модуль
tests/test_logout.py
Outdated
| TEST_PASSWORD = "parol123" | ||
|
|
||
|
|
||
| def login(driver, wait): |
There was a problem hiding this comment.
Нужно исправить: метод логина дублируется в разных модулях. действия для логина можно вынести в фикстуру целиком
tests/test_login.py
Outdated
| login_btn = wait.until(EC.element_to_be_clickable(Locators.LOGIN_BUTTON)) | ||
| login_btn.click() | ||
|
|
||
| @pytest.mark.parametrize("driver_name", ["chrome", "firefox"]) |
There was a problem hiding this comment.
Нужно исправить: браузер не должен передаваться в качестве параметра. У нас должна быть возможность опционально выбрать окружение. Параметры - для тестовых данных
tests/test_login.py
Outdated
| "Оформить заказ" | ||
| ) | ||
| ) | ||
| assert order_button, "Пользователь не авторизован после логина: кнопка не изменилась" No newline at end of file |
There was a problem hiding this comment.
Нужно исправить: логин должен быть проверен с разных точек входа
tests/test_navigation.py
Outdated
| from locators import Locators | ||
| from config import BASE_URL | ||
|
|
||
| OVERLAY = (By.CSS_SELECTOR, "div.Modal_modal_overlay__x2ZCr") |
There was a problem hiding this comment.
Нужно исправить: локаторы должны быть вынесены
| login_btn.click() | ||
|
|
||
| wait.until(EC.url_to_be(BASE_URL)) | ||
|
|
There was a problem hiding this comment.
Нужно исправить: не проверен переход по лого
|
|
||
| def test_switch_to_buns(driver, wait): | ||
| driver.get(BASE_URL) | ||
|
|
There was a problem hiding this comment.
Нужно исправить: этот таб активен по умолчанию Для проверки тебе нужно сначала переключится на другой
|
|
||
| class TestLogin: | ||
|
|
||
| def login(self, driver, wait): |
There was a problem hiding this comment.
Можно улучшить: большая часть дублирует фикстуру authorized_user. Возможно стоит убрать из фикстуры точку входа в форму логина, тогда не понадобится отдельный метод для тестирования разных точек входа. В идеале - передавать данные для входа в метод, тогда оя регистрации нового пользователя тоже не придется писать отдельный код
No description provided.